home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple Reference & Presen…rary 8 (Internal Edition)
/
Apple R&P Lib Internal v8.0.iso
/
5-Fonts & Software
/
Applications
/
Aldus FreeHand 3.0
/
Aldus
/
Aldus Prep
< prev
next >
Wrap
Text File
|
1990-05-16
|
35KB
|
1,655 lines
% 209 55 AldusVersion/AldRevision: This record must be first!!
% Copyright (C) 1987 Aldus Corporation. All rights reserved.
/AldusDict2 325 dict def
AldusDict2
begin
/AldusVersion 209 def
/AldusRev 55 def
/bdef { bind def } bind def
systemdict /currentpacking known
{/AD_OldPacking currentpacking def
true setpacking
} if
/AD_PrevMatrix matrix def
/AD_SomethingOnPage false def
/AD_OutlineWidth 30 def
/AD_ShadOffset 0.06 def
/AD_OLShadOffset 0.06 def
/AD_OLSmearFact 0.03 def
/AD_BoldSmearFact 0.03 def
/AD_ObliqueAngle -0.21 def
/AD_TrueSetscreen /setscreen load def
/AD_NestedMirror false def
/AD_TextCutout false def
/BEGJOB
{ /AD_Invert exch def
dup AD_NestedMirror xor /AD_NestedMirror exch def
/AD_MirrorFlag exch def
/AD_WideFlag exch def
/paperwid exch def
/paperht exch def
/AD_Resolution 1440 def
/AD_PointsToUCS AD_Resolution 72 div def
AD_PrevMatrix currentmatrix pop
/AD_PrevScreen [currentscreen] def
/AD_PrevTransfer currenttransfer def
/AD_StdScreen true def
/STD_SCREEN
{
AD_StdScreen not
{
AD_PrevScreen cvx exec setscreen
/AD_PrevTransfer load settransfer
/AD_StdScreen true assign
}if
} def
true _SetCoordSys
version (23.) anchorsearch
{
pop pop
/truesetgray /setgray load def
/setgray
{
mark
AD_Invert
{.0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0 }
{1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 }
ifelse
counttomark dup 3 add -1 roll exch
2 sub mul dup floor cvi
dup 3 1 roll sub
exch dup
3 add index exch 2 add index dup
4 1 roll
sub mul add
counttomark 1 add 1 roll
cleartomark
truesetgray
} def
}
{ pop }
ifelse
/screenAdjust 1 0 dtransform exch atan def
/mirrorScreen AD_NestedMirror {/neg load} {{}} ifelse def
/setscreen {exch screenAdjust add mirrorScreen exch AD_TrueSetscreen} def
} def
/_SetCoordSys
{
/AD_OldSys exch def
AD_WideFlag
{ AD_OldSys
{
90 rotate
1 AD_PointsToUCS div dup neg scale
}
{
1 AD_PointsToUCS div dup neg scale
paperht paperwid neg translate
90 rotate
}
ifelse
}
{ 1 AD_PointsToUCS div dup neg scale
0 paperht neg translate
}
ifelse
AD_MirrorFlag
{ paperwid 0 translate
-1 1 scale
}
if
/AD_DeviceScale
1 1 transform pop 0 0 transform pop sub abs
def
} bdef
/SETRES
{
/AD_Resolution exch def
/AD_PointsToUCS AD_Resolution 72 div def
AD_PrevMatrix setmatrix
false _SetCoordSys
_DefinePatterns
} bdef
/SETOVERPRINT
{
setoverprint
} bdef
/SETTEXTCUTOUT
{
/AD_TextCutout exch def
} bdef
/BEGPAGE
{ /AD_SomethingOnPage false def
} bdef
/ENDPAGE
{ AD_SomethingOnPage
{ save
showpage
restore
} if
} def
/MUST_PRINT_PAGE
{ /AD_SomethingOnPage true def
} bdef
/ENDJOB
{ AD_PrevMatrix setmatrix
} bdef
/S_PSCRIPT
{ /AD_SomethingOnPage true def
} bdef
/S_TEXTSEGBEG
{ /here save def
/TX_RunDrawn false def
newpath
} bdef
/S_TEXTSEGEND
{ TX_RunDrawn
{ here restore
/AD_SomethingOnPage true def }
{ here restore } ifelse
} bdef
/S_WORKING
{
/AD_WorkingMemory exch def
} bdef
/S_LOADFONT
{
AldusDict2 /AD_TopOfFonts known exch
{ { AD_TopOfFonts restore } if }
{ not { save /AD_TopOfFonts exch def } if }
ifelse
} bdef
/SURSTR
{
AD_SomethingOnPage SUsv restore
} bdef
/SUSAVE
{
AldusDict2 /AD_TopOfFonts known
vmstatus exch sub exch pop AD_WorkingMemory lt
{ dup { AD_TopOfFonts restore } if } if
not
{ save /AD_TopOfFonts exch def } if
save /SUsv exch def /AD_SomethingOnPage exch def
} bdef
/_ftName 66 string def
/_AutoRecode
{
/recode exch def
_ftName cvs
dup length 7 gt
{ dup 0 7 getinterval (|______) eq
{ dup length 7 exch 7 sub getinterval
recode { FTRECODE } { FTRENAME } ifelse
}
{ pop }
ifelse
}
{ pop } ifelse
} bdef
/SYM_SAV
{
save /SYMsv exch def
} bdef
/SYM_RSTR
{
AD_SomethingOnPage
SYMsv restore
/AD_SomethingOnPage exch def
} bdef
/AD_save_xform null def
/SET_TX_XFORM
{
/m_x exch def
/r_angle exch def
/ref_y exch def
/ref_x exch def
/AD_save_xform save def
ref_x ref_y translate
m_x
{
-1 1 scale
} if
r_angle neg rotate
ref_x neg ref_y neg translate
} bind def
/CLEAR_TX_XFORM
{
AD_SomethingOnPage AD_save_xform restore
/AD_SomethingOnPage exch def
} bind def
/SHADOWFLAG 16#1 def
/OUTLINEFLAG 16#2 def
/BOLDSMEAR 16#4 def
/OUTLINESMEAR 16#8 def
/ReENCODED 16#10 def
/BOLDPSBUMP 16#20 def
/ITALICOBLIQUE 16#40 def
/SET
{
count 5 eq not{6 array astore}if
/AD_textcolor exch def
/AD_fontbits exch def
/AD_20EMS exch def
1 index FontDirectory exch known not
{ 1 index ReENCODED AD_fontbits _iand _AutoRecode } if
BOLDPSBUMP AD_fontbits _iand
{ 1 add } if
dup _ActivateFont
ITALICOBLIQUE AD_fontbits _iand
{ _ActivateObliqueFont
} if
/AD_width_factor_internal AD_width_factor def
AD_width_factor 1 ne
{
currentfont [AD_width_factor 0 0 1 0 0] makefont setfont
} if
/AD_EmNotMatch AD_20EMS 20 div (M) _ADStringWidth pop sub abs 1 gt def
false SETTEXTCUTOUT
} bdef
/S_SETUPRUN /SET load def
/OUT
{ /here save def
/runwidth exch def
/nspaces exch def
/nchars exch def
/textrun exch def
/letterspace exch def
/wordspace exch def
/y1 exch def /x1 exch def
nchars 0 gt
{
AD_textcolor dup _Gray?
{setgray}
{aload pop
{PREGISCOLOR}{PCOLOR}ifelse
} ifelse
/letterspace
AD_EmNotMatch
{
runwidth
textrun _ADStringWidth pop
nchars dup 1 gt {1 sub} if
letterspace mul add
nspaces wordspace mul add
sub
nchars dup 1 gt {1 sub} if
div
}
{
0 } ifelse
letterspace add def
SHADOWFLAG AD_fontbits _iand
{ save
OUTLINEFLAG AD_fontbits _iand
{ _OLShadowOffset
}
{
AD_textcolor _Gray?{_ShadowScreen}if
AD_textcolor _ShadowColor
_ShadowOffset
} ifelse
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand not and
{ _ActivateSolidFont
_SetTextWidth
} if
AD_TextCutout
{1 setgray} if
_ShowRun
BOLDSMEAR AD_fontbits _iand
{ _BoldSmearOffset _ShowRun
} if
restore
} if
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand and
{ _OLSmearRun
}
{ OUTLINEFLAG AD_fontbits _iand
{ save
_ActivateSolidFont
_SetTextWidth
AD_textcolor _Gray? AD_textcolor _White? or
{ AD_textcolor _White?
{0}
{_TextFillColor}
ifelse
setgray }
{ 1 setgray
}ifelse
_ShowRun
restore
} if
_ShowRun
BOLDSMEAR AD_fontbits _iand
{ _BoldSmearOffset _ShowRun
} if
} ifelse
} if
here restore
/AD_SomethingOnPage true def
} bdef
/S_OUTPUTRUN /OUT load def
/_ADStringWidth
{
gsave closepath clip stringwidth grestore
} bdef
/_OLSmearRun
{
gsave _OLSmearOffset translate _ShowRun grestore
gsave _OLSmearOffset exch neg exch translate _ShowRun grestore
gsave _OLSmearOffset neg translate _ShowRun grestore
gsave _OLSmearOffset neg exch neg exch translate _ShowRun grestore
gsave
AD_textcolor _Gray? AD_textcolor _White? or
{ AD_textcolor _White?
{0}
{ _TextFillColor}
ifelse
setgray }
{ 1 setgray
}ifelse
_ShowRun grestore
} bdef
/_TextFillColor
{
AD_TextCutout
{1}
{1 AD_textcolor sub} ifelse
} bdef
/_ShowRun
{
x1 y1 moveto
wordspace 0 8#040 letterspace 0 textrun awidthshow
} bdef
/AD_width_factor_internal 1 def
/_SetTextWidth
{
AD_width_factor_internal 1 ne
{
currentfont [AD_width_factor_internal 0 0 1 0 0] makefont setfont
} if
} bdef
/AD_save_textwidth null def
/SET_TEXT_WIDTH
{
/AD_width_factor_internal exch def
/AD_save_textwidth save def
_SetTextWidth
} bdef
/RESTORE_TEXT_WIDTH
{
AD_SomethingOnPage AD_save_textwidth restore
/AD_SomethingOnPage exch def
/AD_width_factor_internal 1 def
} bdef
/AD_width_factor 1 def
/SET_TX_WIDTH
{
/AD_width_factor exch def
} bdef
/CLEAR_TX_WIDTH
{
/AD_width_factor 1 def
} bdef
/S_UNDERLINE
{ /here save def
count 7 eq not{6 array astore}if
/color exch def
/pointsize exch def
/width exch def
/deltay exch def
/baseline exch def
/rightx exch def
/leftx exch def
currentfont /FontInfo known
{
currentfont /FontInfo get
/UnderlinePosition known
{ /deltay
currentfont /FontInfo get
/UnderlinePosition get
currentfont /FontMatrix get 3 get mul
pointsize AD_fontscale AD_PointsToUCS
div div mul def
} if
currentfont /FontInfo get
/UnderlineThickness known
{ /width
currentfont /FontInfo get
/UnderlineThickness get
currentfont /FontMatrix get 3 get abs mul
pointsize AD_fontscale AD_PointsToUCS
div div mul def
} if
} if
/underliney
0 baseline deltay add transform
round exch round exch itransform exch pop def
color dup _Gray?
{setgray}{aload pop
{PREGISCOLOR}{PCOLOR}ifelse
}ifelse
width setlinewidth
SHADOWFLAG AD_fontbits _iand
{ save
OUTLINEFLAG AD_fontbits _iand
{ _OLShadowOffset
}
{
color _Gray?{_ShadowScreen}if
color _ShadowColor
_ShadowOffset
} ifelse
leftx underliney rightx underliney _ShowUnderline
restore
} if
leftx underliney rightx underliney _ShowUnderline
OUTLINEFLAG AD_fontbits _iand
OUTLINESMEAR AD_fontbits _iand not and
{
save
color _Gray?{1 color sub setgray}
{0 0 0 0 setcmykcolor
}ifelse
/AD_OutlineWidth
AD_OutlineWidth 1000 div AD_fontscale mul def
width 3 AD_OutlineWidth mul ge
{ width 2 AD_OutlineWidth mul sub }
{ width 3 div } ifelse
setlinewidth
leftx AD_OutlineWidth add underliney
rightx AD_OutlineWidth sub underliney _ShowUnderline
restore
} if
here restore
/AD_SomethingOnPage true def
} bdef
/_ShowUnderline
{
newpath moveto lineto stroke
} bdef
/S_STRIKETHRU
{ /here save def
count 4 eq not{6 array astore}if
/color exch def
/y exch def
/rightx exch def
/leftx exch def
/y 0 y transform
round exch round exch itransform exch pop def
color _Gray?
{color setgray}{color aload pop
{PREGISCOLOR}{PCOLOR}ifelse
}ifelse
_StrikeThruWidth setlinewidth
newpath
leftx y moveto
rightx y lineto stroke
here restore
/AD_SomethingOnPage true def
} bdef
/DV_DRAW_TEXT
{ /here save def
/text exch def
/y exch def
/x exch def
Black setgray
(Helvetica-Bold) FTRECODE
/|______Helvetica-Bold 9 dup _ActivateFont
x y moveto
text show
here restore
/AD_SomethingOnPage true def
} bdef
/DV_DRAW_BOX
{ /here save def
/draftflag exch def
/shadowflag exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
AD_PointsToUCS 2 div setlinewidth
newpath
x1 y1 moveto
x1 y2 lineto
x2 y2 lineto
x2 y1 lineto closepath
shadowflag
{ gsave STD_SCREEN 0.5 setgray fill grestore}
{ gsave
1.0 setgray fill
grestore
0.0 setgray stroke } ifelse
draftflag
{ x1 y1 moveto
x2 y2 lineto stroke
x2 y1 moveto
x1 y2 lineto stroke } if
here restore
/AD_SomethingOnPage true def
} bdef
/DV_DRAW_LINE
{ /here save def
/lw exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
x1 y1 transform
round exch round exch itransform /y1 exch def /x1 exch def
x2 y2 transform
round exch round exch itransform /y2 exch def /x2 exch def
0 lw transform
round exch round exch itransform /lw exch def pop
lw setlinewidth
0 setseparationgray
newpath
x1 y1 moveto
x2 y2 lineto stroke
here restore
/AD_SomethingOnPage true def
} def
/DV_DRAW_CIRCLE
{ /here save def
/lw exch def
/r exch def
/y exch def /x exch def
x y transform
round exch round exch itransform /y exch def /x exch def
0 r transform
round exch round exch itransform /r exch def pop
0 lw transform
round exch round exch itransform /lw exch def pop
lw setlinewidth
Black setgray
newpath
x y r 0 360 arc stroke
here restore
/AD_SomethingOnPage true def
} bdef
/_ActivateFont
{
/AD_fontscale exch AD_PointsToUCS mul def
/AD_fontscaleX exch AD_PointsToUCS mul def
/AD_fontname exch def
AD_fontname findfont
[ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] makefont
setfont
} bdef
/_ActivateObliqueFont
{
AD_fontname findfont
[ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ]
[ 1 0
AD_ObliqueAngle
1 0 0 ] matrix concatmatrix makefont setfont
} bdef
/_ActivateSolidFont
{
AD_solidfont
AD_fontscaleX AD_PointsToUCS div
AD_fontscale AD_PointsToUCS div _ActivateFont
} bdef
/_ShadowOffset
{
AD_ShadOffset AD_fontscaleX mul AD_ShadOffset AD_fontscale mul translate
} bdef
/_OLShadowOffset
{
AD_OLShadOffset AD_fontscaleX mul AD_OLShadOffset AD_fontscale mul translate
} bdef
/_ShadowScreen
{
100 AD_PrevScreen 1 get AD_PrevScreen 2 get setscreen
} bdef
/_ShadowColor
{
dup _Gray? exch dup _White? 3 -1 roll or
{ dup _White?
{pop 1
}if
0.6 mul 0.8 exch sub setgray}
{_ShadeColor
}ifelse
} bdef
/_ShadeColor
{
/AldusTint .2 def
aload pop {PREGISCOLOR}{PCOLOR}ifelse
/AldusTint 1 def
} bdef
/_Gray?
{
dup type 0 type eq exch type 0.0 type eq or
} bdef
/_White?
{
dup type [] type eq
{aload pop pop pop add add add 0 eq
{true}{false
}ifelse
}{pop false
}ifelse
} bdef
/PCOLOR
{
findcmykcustomcolor
AD_NonSepPat
{1 currentgray sub setcustomcolor}
{AldusTint setcustomcolor}ifelse
} def
/ndf
{
1 index where
{pop pop pop}{dup xcheck
{bind
}if
def
}ifelse
} bdef
/setoverprint
{
AldusDict2 begin /AD_Overprint exch def end
}ndf
/currentoverprint
{
AldusDict2 /AD_Overprint get
}ndf
/setcmykcoloroverprint
{
4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor
}ndf
/findcmykcustomcolor
{
5 /packedarray where
{pop packedarray}{array astore readonly
}ifelse
}ndf
/setcustomcolor
{
exch aload pop pop 4
{4 index mul 4 1 roll
} repeat
setcmykcolor pop
}ndf
/setcmykcolor
{
1 exch sub _Ccmyk _Ccmyk _Ccmyk pop setrgbcolor
}ndf
/customcolorimage
{
pop image
}ndf
/separationimage
{
image
}ndf
/setseparationgray
{
setgray
}ndf
/_Ccmyk
{
dup 5 -1 roll sub 0 _Max exch
}bdef
/_Max
{
2 copy lt
{exch
}if
pop
} bdef
/_OLSmearOffset
{
AD_OLSmearFact AD_fontscaleX mul AD_OLSmearFact AD_fontscale mul
} bdef
/_BoldSmearOffset
{
AD_BoldSmearFact AD_fontscaleX mul AD_BoldSmearFact AD_fontscale mul translate
} bdef
/_StrikeThruWidth
{
AD_fontscale 16 div
} bdef
/_iand
{ and 0 ne
} bdef
/FTRENAME {
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{pop}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
NewName exch definefont pop
} ifelse
} bdef
/FTRECODE {
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{pop}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
dup /Encoding MacEncoding put
NewName exch definefont pop
} ifelse
} bdef
/AD_encode_vector_size 256 def
/AD_encode_vector null def
/AD_doing_recoding false def
/BEG_RECODE
{
dup (|______) exch ftMakeName cvn /NewName local
FontDirectory NewName known
{
pop
/AD_doing_recoding false def
/AD_encode_vector null def
}
{cvn findfont dup
maxlength dict false copyDict
dup /FontName known
{dup /FontName NewName put} if
/AD_encode_vector AD_encode_vector_size array def
dup begin Encoding AD_encode_vector copy pop end
dup /Encoding AD_encode_vector put
NewName exch definefont pop
/AD_doing_recoding true def
AD_encode_vector
dup
} ifelse
} bdef
/ENCODE_CHAR
{
AD_doing_recoding
{
put
dup
}
{
pop
pop
} ifelse
} bdef
/END_RECODE
{
AD_doing_recoding
{
pop
pop
} if
/AD_doing_recoding false def
/AD_encode_vector null def
} bdef
/FTOUTLINE {
ReENCODED FTOLINE
} bdef
/FTOLINE {
/AD_fontbits exch def
cvn /OlineName local
dup /AD_solidfont exch def
AD_solidfont FontDirectory exch known not
{ AD_solidfont ReENCODED AD_fontbits _iand _AutoRecode } if
FontDirectory OlineName known
{pop}
{cvn findfont dup
maxlength 2 add dict true copyDict
dup /FontName known
{dup /FontName OlineName put} if
dup /PaintType 2 put
dup /StrokeWidth AD_OutlineWidth put
OlineName exch definefont pop
} ifelse
} bdef
/AD_nameString1 66 string def
/ftMakeName {
1 index length /PrefixLen local
dup length PrefixLen add AD_nameString1 exch 0 exch getinterval
dup PrefixLen 4 -1 roll putinterval
dup 0 4 -1 roll putinterval
} bdef
/copyDict {
/NoUnique local
begin
{ 1 index /FID ne
NoUnique
{2 index /UniqueID ne and} if
{ def } { pop pop } ifelse
} forall
currentdict
end
} bdef
/MacEncoding 256 array def
MacEncoding 0
/Times-Roman findfont /Encoding get
0 128 getinterval
putinterval
MacEncoding 16#27 /quotesingle put
MacEncoding 16#60 /grave put
/Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute
/agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave
/ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute
/ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis
/dagger /degree /cent /sterling /section /bullet /paragraph /germandbls
/registersans /copyrightsans /trademarksans /acute /dieresis /notequal /AE /Oslash
/infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation
/product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash
/questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft
/guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe
/endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge
/ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl
/daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand
/Acircumflex /Ecircumflex /Aacute
/Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex
/apple /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde
/macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
MacEncoding 128 128 getinterval astore pop
/getAnInt{2 getinterval dup 0 get 16#100 mul exch 1 get add cvi}def
/CharBitStr 30 string def
/BuildCharDict 16 dict def
/AFONT
{
gsave
/FName local
/BMFSize local
1 add /LastChar local
/FirstChar local
/DefChar LastChar FirstChar sub 2 mul def
20 dict dup
begin
10 1 roll
/LocTableLen local
/OWTableLen local
/BMRowLen local
/PixelHeight local
/FontWidth local
/MaxWidth local
/MaxKern local
/Descent local
/Ascent local
/Bits BMRowLen PixelHeight mul string currentfile exch readhexstring pop def
/LocTable LocTableLen string currentfile exch readhexstring pop def
/OWTable OWTableLen string currentfile exch readhexstring pop def
/FontType 3 def
/FontMatrix matrix def
/FontBBox[MaxKern Descent neg MaxWidth MaxKern add Ascent]def
/Encoding 256 array def
Encoding 0 MacEncoding 0 256 getinterval putinterval
/Mummble 257 array def
0 1 256{Mummble exch DefChar put}for
FirstChar 1 LastChar{Mummble exch dup FirstChar sub 2 mul put}for
/BuildChar
{
BuildCharDict
begin
/1Char local
/FDict local
FDict /Mummble get 1Char get /2Char local
FDict /OWTable get 2Char getAnInt 16#FFFF eq
{/2Char DefChar assign}if
FDict /LocTable get 2Char getAnInt
/BitLoc local
FDict /LocTable get 2Char 2 add getAnInt
BitLoc sub
/BitWidth local
BitLoc 8 mod /ShiftVal local
16#FF 8 ShiftVal sub
dup neg /RemShift local
bitshift 16#FF and /BMask local
16#FF 8 BitLoc BitWidth add 8 mod
sub dup 8 ge{pop 0}if
BitWidth 0 eq{pop 8}if
bitshift /AMask local
BitWidth ShiftVal add 7 add 8 idiv
dup 0 eq{pop 1}if
/ByteWidth local
BitLoc 8 idiv
/WhichRow local
FDict /OWTable get 2Char get cvi /Offset local
FDict /OWTable get 2Char 1 add get cvi /Charwidth local
Charwidth 0 BMFSize divPoint
FDict /MaxKern get FDict /Descent get neg BMFSize divPoint
BitWidth Offset add FDict /MaxKern get add FDict /Ascent get BMFSize divPoint
setcachedevice
gsave
ByteWidth 8 mul
FDict /PixelHeight get
true
[FDict /PixelHeight get FDict /Descent get sub 1 add
0
0
FDict /PixelHeight get FDict /Descent get sub 1 add neg
Offset neg 0.5 add
FDict /PixelHeight get FDict /Descent get sub 0.5 add]
{
FDict /Bits get WhichRow
ByteWidth getinterval
CharBitStr copy /ThisRow local
16#100
ByteWidth 1 sub 1 neg 0
{ /iV local
ThisRow iV get
1 index 16#100 eq{AMask and}if
dup BMask and RemShift bitshift
3 1 roll ShiftVal bitshift
add 16#FF and
cvi ThisRow iV 3 -1 roll put
}for
pop ThisRow
/WhichRow WhichRow FDict /BMRowLen get add assign
} imagemask
grestore
end
}def
end
FontDirectory FName cvn known
{pop}
{FName cvn exch definefont pop} ifelse
grestore
}def
/AldusTint 1 def
/AD_Overprint false def
/AD_NonSepPat false def
/const /def load def
/var /def load def
/local[/exch load /def load]cvx def
/assign /def load def
/incr{dup cvx exec 1 add assign}bdef
/postIncr{dup cvx exec exch incr}bdef
/SpaceChar 16#20 const
/cvPA{2 array astore cvx}bdef
/point{cvPA def}bdef
/locPoint{3 1 roll point}bdef
/pointXpoint{3 -1 roll mul 3 1 roll mul exch}bdef
/pointDpoint{3 -1 roll exch div 3 1 roll div exch}bdef
/setPoint{load astore pop}bdef
/dupPoint{2 copy}bdef
/addPoint{exch 4 -1 roll add 3 1 roll add}bdef
/subPoint{exch 3 1 roll sub 3 1 roll sub exch}bdef
/mulPoint{dup pointXpoint}bdef
/divPoint{dup pointDpoint}bdef
/exchPoint{4 2 roll}bdef
/overPoint{3 index 3 index}bdef
/anyStatD systemdict /statusdict known const
/thisProduct anyStatD
{statusdict /product known{statusdict /product get}{()}ifelse}
{()}ifelse const
/PerCentChg 1.0 -1.0 point
/boxPath{/y2 local /x2 local /y1 local /x1 local
x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
closepath}bdef
/dump{4{pop}repeat}bdef
/rBoxPath{/r local /y2 local /x2 local
/y1 local /x1 local
x1 r add y1 moveto x2 y1 x2 y2 r arcto dump
x2 y2 x1 y2 r arcto dump x1 y2 x1 y1 r arcto dump
x1 y1 x2 y1 r arcto dump closepath}bdef
/SaveMatrix matrix var
/ButtCap 0 const
/SquareCap 2 const
/MiterJoin 0 const
/BevelJoin 2 const
/Black 0 const
/White 1 const
/Wide 0 const
/Narrow 1 const
/PictPostScript false var
/isHairline false var
/PBEGIN{
dup not {save /PSave exch def} if
/isLBO exch def
/PBotRight locPoint
/PTopLeft locPoint
isLBO not {newpath PTopLeft PBotRight boxPath clip} if newpath
isLBO {ButtCap}{SquareCap} ifelse setlinecap
MiterJoin setlinejoin
3 setmiterlimit
AD_PointsToUCS setlinewidth
/deviceRound
{
dup
AD_DeviceScale mul round AD_DeviceScale div
dup 0 eq { pop } { exch pop } ifelse
} def
/HairWidth
AD_PointsToUCS 4 div
AD_DeviceScale mul deviceRound dup 1.5 lt
{ pop 0 } if
const
Black setgray
/LineScale 1 var
/LineWidth AD_PointsToUCS var
/LineHeight AD_PointsToUCS var
/DoingWedge false var
/DoingArc false var
AldusDict2 /PatternShade known not
{
/psb {} bdef
/pse {} bdef
/PatternShade Black var
/DeclaredPattern <00> var
/PCurPat <01> var
} if
}bdef
/PEND{
newpath
isLBO not {PSave restore} if
/AD_SomethingOnPage true def
}bdef
/SetPattern {
dup /PatternShade exch def setgray
} bdef
/bitison{
/ybit local /xbit local
PCurPat ybit PatWidth mul
xbit 8 idiv add get
1 7 xbit 8 mod AD_NestedMirror {exch pop}{sub} ifelse bitshift
and 0 ne}bdef
/PSHADE{
STD_SCREEN
100 div dup /PatternShade exch def
/AD_NonSepPat true def
setgray <01> /PCurPat local
} def
/BK { /AD_NonSepPat true def Black setgray } bdef
/WT { /AD_NonSepPat true def White setgray } bdef
/PBLACK /BK load def
/PWHITE /WT load def
/PREGISCOLOR
{
pop AD_NonSepPat
{ pop currentgray}{AldusTint mul 1 exch sub}ifelse
setseparationgray pop pop pop
} bdef
/PUSETHISPATTERN {
dup PCurPat eq {pop}{ PPATTERN } ifelse
PatternShade
/AD_NonSepPat true def
setgray /VerifyUsedPattern false def
} bdef
/PUSEPATTERN {
VerifyUsedPattern
{DeclaredPattern PCurPat ne {DeclaredPattern PPATTERN} if
} if
PatternShade setgray
/VerifyUsedPattern false def
} bdef
/PDECLAREPATTERN {
/DeclaredPattern exch def
/VerifyUsedPattern true def
/AD_NonSepPat true def
} bdef
/PatWidth 1 const
/PatSide 8 const
/PFreq 300 32 div const
/PPATTERN{/PCurPat local
/AD_NonSepPat true def
/VerifyUsedPattern false def
0 /Onbits local 0 /Offbits local
AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse
PFreq PerCentChg pop dup 0.96 eq
{pop}{div}ifelse
0
{
1 1 addPoint 2 divPoint PatSide mulPoint
cvi exch cvi exch bitison AD_Invert xor
{/Onbits incr 1}
{/Offbits incr 0}ifelse
}
setscreen
Offbits dup Onbits add div AD_Invert {1 exch sub} if SetPattern
/AD_StdScreen false assign}def
/vertLines{pop dup mul -2 mul 1 add}bdef
/sPat
{
AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse
setscreen setgray
}def
/PALDUSSHADE
{
<11> /PCurPat local
/AD_NonSepPat true def
/AD_StdScreen false assign
Wide eq
{ 0.774 20 45 {vertLines} sPat }
{ 0.643 30 45 {vertLines} sPat }
ifelse
} bdef
/PHAIRWIDTH
{
HairWidth setlinewidth /isHairline true def
} bdef
/LW {
LineScale mul deviceRound /LineHeight exch def
LineScale mul deviceRound dup /LineWidth exch def
setlinewidth
/isHairline false def
}bdef
/PLNWIDTH /LW load def
/PLNSCALE{div /LineScale exch def} bdef
/roundCoord
{
0.5 add round 0.5 sub
} bdef
/roundPoint
{
transform
round exch round exch
itransform
} bdef
/adjCoord {
dup
1 AD_DeviceScale div gt { deviceRound 2 div } { pop .5 AD_DeviceScale div } ifelse
} bdef
/pULAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord addPoint }bdef
/pLRAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord subPoint }bdef
/QD_LINE
{
/qd_save save def
/y2 exch def
/x2 exch def
/y1 exch def
/x1 exch def
x1 x2 gt
{
x1 y1 x2 y2
/y1 exch def
/x1 exch def
/y2 exch def
/x2 exch def
} if
newpath
y1 y2 gt
{
x1 y1 moveto
x2 y2 lineto
x2 LineWidth add
dup
y2 lineto
y2 LineHeight add lineto
x1 LineWidth add
y1 LineHeight add lineto
x1 y1 LineHeight add lineto
x1 y1 lineto
}
{
x1 y1 moveto
x1 LineWidth add y1 lineto
x2 LineWidth add
dup y2 lineto
y2 LineHeight add lineto
x2 y2 LineHeight add lineto
x1 y1 LineHeight add lineto
x1 y1 lineto
} ifelse
closepath eofill
qd_save restore
} bdef
/PLINETO
{
PictPostScript
{
moveto lineto
}
{
/y2 exch def /x2 exch def /y1 exch def /x1 exch def
currentlinecap ButtCap setlinecap
newpath
x1 x2 eq y1 y2 eq and
{
LineWidth 1 le LineHeight 1 le and
{ x1 y1 moveto }
{ x1 y1
x1 LineWidth add y1 LineHeight add
boxPath fill}
ifelse
}
{ y1 y2 eq
{
LineWidth x1 x2 lt
{ x2 add /x2 exch def }
{ x1 add /x1 exch def }
ifelse
LineHeight setlinewidth
x1 y1 LineHeight 2 div add roundPoint moveto
x2 y2 LineHeight 2 div add roundPoint lineto
mayStroke
}
{ x1 x2 eq
{
LineHeight y1 y2 lt
{ y2 add /y2 exch def }
{ y1 add /y1 exch def }
ifelse
x1 LineWidth 2 div add y1 roundPoint moveto
x2 LineWidth 2 div add y2 roundPoint lineto
mayStroke
}
{
x1 y1 pULAdj moveto x2 y2 pULAdj lineto mayStroke
}
ifelse
}
ifelse
}
ifelse
setlinecap
}
ifelse
}bdef
/HairRect
{
save /here exch def
/y2 exch def /x2 exch def
/y1 exch def /x1 exch def
PHAIRWIDTH newpath
x1 x2 sub abs y1 y2 sub abs lt
{ x1 x2 add 2 div dup y1 roundPoint moveto y2 roundPoint lineto stroke}
{ y1 y2 add 2 div dup x1 exch roundPoint moveto x2 exch roundPoint lineto stroke}
ifelse
here restore
} bdef
/PHAIRLINE
{
count 4 gt
{
newpath PHAIRWIDTH
addPoint 2 divPoint roundPoint moveto
addPoint 2 divPoint roundPoint lineto pop pop
stroke
}
{ HairRect }
ifelse
} bdef
/PHANGLINE
{
roundPoint /yb exch def /xr exch def
roundPoint /yt exch def /xl exch def
deviceRound /delta exch def
{ {yt delta sub /yt exch def} {yb delta add /yb exch def} ifelse }
{ {xl delta sub /xl exch def} {xr delta add /xr exch def} ifelse }
ifelse
newpath
1 AD_DeviceScale div 2 div dup dupPoint
xl yt addPoint exchPoint
xr yb exchPoint subPoint boxPath fill
} bdef
/PCURVETO
{
curveto
} bdef
/PMOVETO
{
moveto
} bdef
/PRECT{newpath pLRAdj exchPoint pULAdj exchPoint boxPath}bdef
/PRRECT { pLRAdj /Botts locPoint pULAdj /Tops locPoint
currentlinewidth dup subPoint /Diams locPoint
newpath SaveMatrix currentmatrix pop
Botts Tops subPoint /Sides locPoint
Sides pop abs Diams pop ge{Diams}{Sides}ifelse pop
Sides exch pop abs Diams exch pop ge{Diams}{Sides}ifelse exch pop
/Diams locPoint
Diams 2 div /YRad local
0 gt
{Diams exch pop
0 eq
{1}
{Diams div}
ifelse
}
{1}ifelse 1 /PRRscale locPoint
Tops translate PRRscale scale 0 0 Sides PRRscale pointDpoint
Diams 0 gt exch 0 gt and{YRad rBoxPath}{boxPath}ifelse
SaveMatrix setmatrix}bdef
/POVAL{newpath SaveMatrix currentmatrix pop
0 359 false pArc closepath
SaveMatrix setmatrix}bdef
/PARC{ newpath SaveMatrix currentmatrix pop
/DoingArc true assign
false pArc
SaveMatrix setmatrix }bdef
/PWEDGE{newpath SaveMatrix currentmatrix pop
/DoingWedge true assign
true pArc closepath
SaveMatrix setmatrix }bdef
/modAdj{
dup 360 gt{360 sub}if
dup 0 lt{360 add}if}bdef
/pArc{/Fill local
/ArcAng local /BegAng local
pLRAdj /PLR locPoint
pULAdj /PUL locPoint
360 BegAng ArcAng add sub 90 add modAdj /StartAng local
StartAng ArcAng add /EndAng local
PLR PUL subPoint 2 divPoint /Rad locPoint
PUL Rad addPoint translate
Rad neg scale
Fill{0 0 moveto}if
0 0 1 StartAng EndAng
dupPoint eq
{pop pop 0 359 arc closepath}
{ArcAng 0 lt
{arcn}{arc}ifelse
}
ifelse
}bdef
/PBEGPOLY{
newpath pULAdj moveto
}bdef
/PBEGSMOOTHPOLY {
newpath
} bdef
/PPOLYPOINT {
pULAdj lineto
} bdef
/PENDPOLY{
/Closed local
Closed{closepath}if
}bdef
/PENDSMOOTHPOLY {
PENDPOLY
} bdef
/PBEGRGN{mark}bdef
/PREGION{PRECT cleartomark}bdef
/PTXBEG {/PTSave1 save const} bdef
/PROTATE {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
3 1 roll dupPoint neg exch neg exch 5 2 roll
translate rotate translate
} bdef
/PHFLIP {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
dupPoint neg exch neg exch 4 2 roll
translate -1 1 scale translate
} bdef
/PVFLIP {
currentdict /PRotateSave known not
{save /PRotateSave exch def} if
dupPoint neg exch neg exch 4 2 roll
translate 1 -1 scale translate
} bdef
/PROTATE_END
{
PRotateSave restore
} bdef
/PSCALETEXT {
AD_PointsToUCS mul div /Xscale exch def
AD_PointsToUCS mul div /Yscale exch def
currentfont [ Xscale 0 0 Yscale 0 0 ] makefont setfont
/AD_fontscaleX AD_fontscaleX Xscale mul def
/AD_fontscale AD_fontscale Yscale mul def
} bdef
/PSTBEG {
userdict /md known not
{ userdict begin /md 0 def end } if
PBLACK /PictPostScript true def
} bdef
/PSTEND {
/PictPostScript false def
} bdef
/mayStroke{
currentlinewidth 0 gt isHairline or
{
gsave
/s_matrix null def
/stroke_xform false def
DoingWedge {MiterJoin setlinejoin} if
currentlinewidth 1 AD_DeviceScale div sub setlinewidth
LineWidth LineHeight ne
{
/s_matrix matrix currentmatrix def
1 LineHeight LineWidth div scale
/stroke_xform true def
} if
stroke
stroke_xform {s_matrix setmatrix} if
grestore
} if
/DoingWedge false assign
} bdef
/RESET_PAT_SEP
{
/AD_NonSepPat false def
} bdef
/PFRAME{mayStroke RESET_PAT_SEP}bdef
/PPAINT
{
mayStroke gsave eofill grestore RESET_PAT_SEP
}bdef
/PERASE
{
mayStroke gsave eofill grestore RESET_PAT_SEP
}bdef
/PFILL
{
mayStroke gsave eofill grestore RESET_PAT_SEP
}bdef
/PTINT
{
100 exch sub 100 div /AldusTint exch def
} bdef
/PRESETTINT
{
AldusTint 1 eq not
{/AldusTint 1 def
}if
} bdef
/PHORZSHADE
{
0 eq
{/widehorz}{/narrowhorz
}ifelse findfont
_OpaquePatternfill
} bdef
/PVERTSHADE
{
0 eq
{/widevert}{/narrowvert
}ifelse findfont
_OpaquePatternfill
} bdef
/PHATCHSHADE
{
0 eq
{/widehatch}{/narrowhatch
}ifelse findfont
_OpaquePatternfill
} bdef
/PDIAGSHADE
{
0 eq
{/widediag}{/narrowdiag
}ifelse findfont
_OpaquePatternfill
} bdef
/_SetCoords
{
/y2 local /x2 local /y1 local /x1 local
} bdef
/_DefinePattern {
7 dict begin
/FontDict 9 dict def
FontDict begin
/cache exch def
/key exch def
/proc exch cvx def
/mtx exch matrix invertmatrix def
/height exch def
/width exch def
/ctm matrix currentmatrix def
/ptm matrix identmatrix def
/str
(12345678901234567890123456789012)
def
end
/FontBBox [
0 0 FontDict /width get
FontDict /height get
] def
/FontMatrix FontDict /mtx get def
/Encoding StandardEncoding def
/FontType 3 def
/BuildChar {
pop begin
FontDict begin
width 0 cache {
0 0 width height setcachedevice
}{
setcharwidth
} ifelse
0 0 moveto width 0 lineto
width height lineto 0 height lineto
closepath clip newpath
gsave proc grestore
end end
} def
FontDict /key get currentdict definefont
end
} bind def
/_Patternpath {
dup type /dicttype eq {
begin FontDict /ctm get setmatrix
}{
exch begin FontDict /ctm get setmatrix
concat
} ifelse
currentdict setfont
FontDict begin
FontMatrix concat
width 0 dtransform
round width div exch round width div exch
0 height dtransform
round height div exch
round height div exch
0 0 transform round exch round exch
ptm astore setmatrix
pathbbox
height div ceiling height mul 4 1 roll
width div ceiling width mul 4 1 roll
height div floor height mul 4 1 roll
width div floor width mul 4 1 roll
2 index sub height div ceiling cvi exch
3 index sub width div ceiling cvi exch
4 2 roll moveto
FontMatrix ptm invertmatrix pop
{
gsave
ptm concat
dup str length idiv {
str show
} repeat
dup str length mod str exch
0 exch getinterval show
grestore
0 height rmoveto
} repeat
pop
end end
} bind def
/_Patternfill {
gsave
clip _Patternpath
grestore
newpath
} bind def
/_OpaquePatternfill {
gsave
0 0 0 0 setcmykcolor
fill
grestore
_Patternfill
} bind def
/_DefinePatterns
{
/AD_PatternLW .009375 AD_Resolution mul def
/narrowdiagunit .046666 AD_Resolution mul def
narrowdiagunit narrowdiagunit [1 0 0 1 0 0]
{
SquareCap setlinecap
0 narrowdiagunit 2 div moveto narrowdiagunit 2 div 0 lineto
narrowdiagunit 2 div narrowdiagunit moveto
narrowdiagunit narrowdiagunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/narrowdiag true _DefinePattern pop
/widediagunit .073333 AD_Resolution mul def
widediagunit widediagunit [1 0 0 1 0 0]
{ SquareCap setlinecap
0 widediagunit 2 div moveto widediagunit 2 div 0 lineto
widediagunit 2 div widediagunit moveto
widediagunit widediagunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/widediag true _DefinePattern pop
/narrowhorzunit .053333 AD_Resolution mul def
narrowhorzunit narrowhorzunit [1 0 0 1 0 0]
{
SquareCap setlinecap
0 narrowhorzunit 2 div moveto
narrowhorzunit narrowhorzunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/narrowhorz true _DefinePattern pop
/widehorzunit .106666 AD_Resolution mul def
widehorzunit widehorzunit [1 0 0 1 0 0]
{
SquareCap setlinecap
0 widehorzunit 2 div moveto
widehorzunit widehorzunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/widehorz true _DefinePattern pop
/narrowvertunit .053333 AD_Resolution mul def
narrowvertunit narrowvertunit [1 0 0 1 0 0]
{
SquareCap setlinecap
narrowvertunit 2 div 0 moveto
narrowvertunit 2 div narrowvertunit lineto
AD_PatternLW setlinewidth stroke
} bind
/narrowvert true _DefinePattern pop
/widevertunit .106666 AD_Resolution mul def
widevertunit widevertunit [1 0 0 1 0 0]
{
SquareCap setlinecap
widevertunit 2 div 0 moveto
widevertunit 2 div widevertunit lineto
AD_PatternLW setlinewidth stroke
} bind
/widevert true _DefinePattern pop
/narrowhatchunit .053333 AD_Resolution mul def
narrowhatchunit narrowhatchunit [1 0 0 1 0 0]
{
SquareCap setlinecap
narrowhatchunit 2 div 0 moveto
narrowhatchunit 2 div narrowhatchunit lineto
0 narrowhatchunit 2 div moveto
narrowhatchunit narrowhatchunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/narrowhatch true _DefinePattern pop
/widehatchunit .106666 AD_Resolution mul def
widehatchunit widehatchunit [1 0 0 1 0 0]
{
SquareCap setlinecap
widehatchunit 2 div 0 moveto
widehatchunit 2 div widehatchunit lineto
0 widehatchunit 2 div moveto
widehatchunit widehatchunit 2 div lineto
AD_PatternLW setlinewidth stroke
} bind
/widehatch true _DefinePattern pop
}
version (23.) anchorsearch
{pop pop def}{pop bdef} ifelse
systemdict /currentpacking known
{AD_OldPacking setpacking} if
/AldusDone AldusVersion def
end